package co.edu.javeriana.konigsberg.xavier.dao;

import java.math.BigInteger;
import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityTransaction;

import co.edu.javeriana.konigsberg.xavier.dao.desc.DepartamentoFacultadDAOLocal;
import co.edu.javeriana.konigsberg.xavier.dto.DepartamentoFacultadDTO;
import co.edu.javeriana.konigsberg.xavier.entidad.DepartamentoFacultad;

@Stateless
public class DepartamentoFacultadDAO extends DAO<DepartamentoFacultad> implements DepartamentoFacultadDAOLocal {
	private static final long serialVersionUID = 1L;

	@Override
	@SuppressWarnings("unchecked")
	public List<DepartamentoFacultad> obtenerLista() {
		return (List<DepartamentoFacultad>) em.createNamedQuery("DepartamentoFacultad.findAll").getResultList();
	}

	@Override
	@SuppressWarnings("unchecked")
	public List<DepartamentoFacultad> obtenerListaPorPadre(BigInteger idFacultad) {
		return (List<DepartamentoFacultad>) em.createNamedQuery("DepartamentoFacultad.findByParent").setParameter("idFacultad", idFacultad).getResultList();
	}

	@Override
	public DepartamentoFacultad obtenerPorId(BigInteger id) {
		return em.find(DepartamentoFacultad.class, id);
	}

	@Override
	public void guardar(DepartamentoFacultad departamentoFacultad) {
		EntityTransaction tx = em.getTransaction();
		tx.begin();
		em.persist(departamentoFacultad);
		tx.commit();
	}

	@Override
	public void actualizar(DepartamentoFacultad e) {
		// TODO Auto-generated method stub
		
	}

	

}
